package com.liao.ticket.controller;

import com.liao.ticket.service.PassengerService;
import com.liao.ticket.vo.PassengerVo;
import com.liao.ticket.vo.Result;
import com.liao.ticket.vo.params.PassengerParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 提供登录验证成功的用户使用
 * 用户id自动获取,保证用户无法根据id查询到其他用户下的乘客
 * 接口测试成功
 * 1.0.0
 * 10.14 2:08
 */
@RestController
@RequestMapping("passenger")
public class PassengerController {
    @Autowired
    private PassengerService passengerService;

    // 通过 id 和 用户id 查询 乘机人
    @GetMapping("one/{id}")
    public Result oneById(@PathVariable Long id) {
        return passengerService.selectByIdAndUid(id);
    }

    // 通过 手机号 和 用户id 查询 乘机人
    @PostMapping("one")
    public Result oneByPhone(String phone) {
        return passengerService.selectByPhoneAndUid(phone);
    }

    // 通过 用户id 查询 乘机人
    @GetMapping("all")
    public Result all() {
        return passengerService.selectAllByUid();
    }

    // 添加 乘机人
    @PostMapping("add")
    public Result addPassenger(@RequestBody PassengerParams passengerParams) {
        return passengerService.addOne(passengerParams);
    }

    // 通过 id 修改 乘机人信息
    @PostMapping("update")
    public Result updatePassenger(@RequestBody PassengerParams passengerParams) {
        return passengerService.updateOneById(passengerParams);
    }

    // 通过 id 删除 乘机人
    @GetMapping("delete/{id}")
    public Result deleteOne(@PathVariable Long id) {
        return passengerService.deleteOneById(id);
    }

    // 通过 用户id 删除 乘机人
    @GetMapping("delete/all")
    public Result deleteAll(){
        return passengerService.deleteAllByUid();
    }

}
